8 research outputs found

    The icub software architecture: evolution and lessons learned

    Get PDF
    The complexity of humanoid robots is increasing with the availability of new sensors, embedded CPUs and actuators. This wealth of technologies allows researchers to investigate new problems like whole-body force control, multi-modal human-robot interaction and sensory fusion. Under the hood of these robots, the software architecture has an important role: it allows researchers to get access to the robot functionalities focusing primarily on their research problems, it supports code reuse to minimize development and debugging, especially when new hardware becomes available. But more importantly it allows increasing the complexity of the experiments that can be implemented before system integration becomes unmanageable and debugging draws more resources than research itself. In this paper we illustrate the software architecture of the iCub humanoid robot and the software engineering best practices that have emerged driven by the needs of our research community. We describe the latest developments at the level of the middleware supporting interface definition and automatic code generation, logging, ROS compatibility and channel prioritization. We show the robot abstraction layer and how it has been modified to better address the requirements of the users and to support new hardware as it became available. We also describe the testing framework we have recently adopted for developing code using a test driven methodology. We conclude the paper discussing the lessons we have learned during the past eleven years of software development on the iCub humanoid robot

    Semantic-aware real-time scheduling in robotics

    No full text
    This paper introduces semantic-aware real-time (SeART), an extension to conventional operating systems, which deals with complex real-time robotics applications. SeART addresses the problem of selecting a subset of tasks to be scheduled depending on the current operating context: mission objectives, other tasks currently executed, the availability or unavailability of sensors and other resources, as well as temporal constraints. Toward this end, SeART is able to represent the semantics of tasks to be scheduled, i.e., what tasks are meant for, and to use this information in the scheduling process. This paper describes in detail the SeART architecture by focusing on representations and reasoning procedures, and presenting a case-study which is related to mobile robotics for autonomous objects transportation

    Enabling Security Services in Socially Assistive Robot Scenarios for Healthcare Applications

    No full text
    Today’s IoT deployments are highly complex, heterogeneous and constantly changing. This poses severe security challenges such as limited end-to-end security support, lack of cross-platform cross-vertical security interoperability as well as the lack of security services that can be readily applied by security practitioners and third party developers. Overall, these require scalable, decentralized and intelligent IoT security mechanisms and services which are addressed by the SecureIoT project. This paper presents the definition, implementation and validation of a SecureIoT-enabled socially assisted robots (SAR) usage scenario. The aim of the SAR scenario is to integrate and validate the SecureIoT services in the scope of personalized healthcare and ambient assistive living (AAL) scenarios, involving the integration of two AAL platforms, namely QTrobot (QT) and CloudCare2U (CC2U). This includes risk assessment of communications security, predictive analysis of security risks, implementing access control policies to enhance the security of solution, and auditing of the solution against security, safety and privacy guidelines and regulations. Future perspectives include the extension of this security paradigm by securing the integration of healthcare platforms with IoT solutions, such as Healthentia with QTRobot, by means of a system product assurance process for cyber-security in healthcare applications, through the PANACEA toolkit

    A middle way for robotics middleware

    No full text
    Robotics is changing. The amount of software available (and needed) is growing. For better or worse, the glue that holds thatsoftware together, the middleware, has a big impact on its viability. YARP is a middleware for robotics, with over a decade’s continuoususe on various humanoid robots. YARP was designed to help code survive changes, to easily experiment with new code and integratewith other systems. In a world of constant transition, with a steady stream of hardware and software upgrades, YARP helps code lastlong enough to make a real impact, and avoid premature loss of good code through middleware muddles. We review the features ofYARP that support this flexibility, describing those situations in which they have been practically useful
    corecore